+2006-12-24 Behdad Esfahbod <behdad@gnome.org>
+
+ Bug 340141 – Update to Pango 1.16 API
+
+ * gdk/gdkpango.c (layout_iter_get_line_clip_region),
+ (gdk_pango_layout_line_get_clip_region):
+ * gtk/gtkcalendar.c (gtk_calendar_size_request):
+ * gtk/gtkentry.c (gtk_entry_get_pixel_ranges),
+ (get_layout_position), (gtk_entry_find_position),
+ (gtk_entry_adjust_scroll):
+ * gtk/gtkiconview.c (get_pango_text_offsets):
+ * gtk/gtklabel.c (get_cursor_direction):
+ * gtk/gtkstyle.c (get_insensitive_layout):
+ * gtk/gtktextdisplay.c (render_para):
+ * gtk/gtktextlayout.c (allocate_child_widgets),
+ (find_display_line_below), (find_display_line_above),
+ (gtk_text_layout_move_iter_to_previous_line),
+ (gtk_text_layout_move_iter_to_next_line),
+ (gtk_text_layout_move_iter_to_line_end),
+ (gtk_text_layout_iter_starts_line),
+ (gtk_text_layout_move_iter_to_x):
+ * gtk/gtktextutil.c (limit_layout_lines):
+ Use the _readonly version of pango_layout_iter_get_line(),
+ pango_layout_iter_get_run(), pango_layout_get_line(), and
+ pango_layout_get_lines().
+
+ * gtk/gtkmain.c (gtk_get_default_language): Use
+ pango_get_default_language().
+
2006-12-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_set_text): Emit changed
gint baseline;
gint i;
- line = pango_layout_iter_get_line (iter);
+ line = pango_layout_iter_get_line_readonly (iter);
clip_region = gdk_region_new ();
g_return_val_if_fail (index_ranges != NULL, NULL);
iter = pango_layout_get_iter (line->layout);
- while (pango_layout_iter_get_line (iter) != line)
+ while (pango_layout_iter_get_line_readonly (iter) != line)
pango_layout_iter_next_line (iter);
clip_region = layout_iter_get_line_clip_region(iter, x_origin, y_origin, index_ranges, n_ranges);
for (i = 0; i < 7; i++)
{
pango_layout_set_text (layout, default_abbreviated_dayname[i], -1);
- pango_layout_line_get_pixel_extents (pango_layout_get_lines (layout)->data, NULL, &logical_rect);
+ pango_layout_line_get_pixel_extents (pango_layout_get_lines_readonly (layout)->data, NULL, &logical_rect);
priv->min_day_width = MAX (priv->min_day_width, logical_rect.width);
priv->max_label_char_ascent = MAX (priv->max_label_char_ascent,
if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_char, &end_char))
{
PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
- PangoLayoutLine *line = pango_layout_get_lines (layout)->data;
+ PangoLayoutLine *line = pango_layout_get_lines_readonly (layout)->data;
const char *text = pango_layout_get_text (layout);
gint start_index = g_utf8_offset_to_pointer (text, start_char) - text;
gint end_index = g_utf8_offset_to_pointer (text, end_char) - text;
area_height = PANGO_SCALE * (area_height - inner_border.top - inner_border.bottom);
- line = pango_layout_get_lines (layout)->data;
+ line = pango_layout_get_lines_readonly (layout)->data;
pango_layout_line_get_extents (line, NULL, &logical_rect);
/* Align primarily for locale's ascent/descent */
text = pango_layout_get_text (layout);
cursor_index = g_utf8_offset_to_pointer (text, entry->current_pos) - text;
- line = pango_layout_get_lines (layout)->data;
+ line = pango_layout_get_lines_readonly (layout)->data;
pango_layout_line_x_to_index (line, x * PANGO_SCALE, &index, &trailing);
if (index >= cursor_index && entry->preedit_length)
text_area_width = 0;
layout = gtk_entry_ensure_layout (entry, TRUE);
- line = pango_layout_get_lines (layout)->data;
+ line = pango_layout_get_lines_readonly (layout)->data;
pango_layout_line_get_extents (line, NULL, &logical_rect);
iter = pango_layout_get_iter (layout);
do
{
- line = pango_layout_iter_get_line (iter);
+ line = pango_layout_iter_get_line_readonly (iter);
start_index = line->start_index;
end_index = start_index + line->length;
{
case ATK_TEXT_BOUNDARY_LINE_START:
if (pango_layout_iter_next_line (iter))
- end_index = pango_layout_iter_get_line (iter)->start_index;
+ end_index = pango_layout_iter_get_line_readonly (iter)->start_index;
break;
case ATK_TEXT_BOUNDARY_LINE_END:
if (prev_line)
*/
if (pango_layout_iter_next_line (iter))
{
- line = pango_layout_iter_get_line (iter);
+ line = pango_layout_iter_get_line_readonly (iter);
switch (boundary_type)
{
case ATK_TEXT_BOUNDARY_LINE_START:
start_index = line->start_index;
if (pango_layout_iter_next_line (iter))
- end_index = pango_layout_iter_get_line (iter)->start_index;
+ end_index = pango_layout_iter_get_line_readonly (iter)->start_index;
else
end_index = start_index + line->length;
break;
gtk_label_ensure_layout (label);
- for (l = pango_layout_get_lines (label->layout); l; l = l->next)
+ for (l = pango_layout_get_lines_readonly (label->layout); l; l = l->next)
{
PangoLayoutLine *line = l->data;
* effect. (Note that this can change over the life of an
* application.) The default language is derived from the current
* locale. It determines, for example, whether GTK+ uses the
- * right-to-left or left-to-right text direction. See
- * _gtk_get_lc_ctype() for notes on behaviour on Windows.
+ * right-to-left or left-to-right text direction.
+ *
+ * This function is equivalent to pango_language_get_default(). See
+ * that function for details.
*
* Return value: the default language as a #PangoLanguage, must not be
* freed
PangoLanguage *
gtk_get_default_language (void)
{
- gchar *lang;
- PangoLanguage *result;
- gchar *p;
-
- lang = _gtk_get_lc_ctype ();
- p = strchr (lang, '.');
- if (p)
- *p = '\0';
- p = strchr (lang, '@');
- if (p)
- *p = '\0';
-
- result = pango_language_from_string (lang);
- g_free (lang);
-
- return result;
+ return pango_language_get_default ();
}
void
gboolean need_stipple = FALSE;
ByteRange *br;
- run = pango_layout_iter_get_run (iter);
+ run = pango_layout_iter_get_run_readonly (iter);
if (run)
{
do
{
- PangoLayoutLine *line = pango_layout_iter_get_line (iter);
+ PangoLayoutLine *line = pango_layout_iter_get_line_readonly (iter);
int selection_y, selection_height;
int first_y, last_y;
PangoRectangle line_rect;
do
{
- PangoLayoutRun *run = pango_layout_iter_get_run (iter);
+ PangoLayoutRun *run = pango_layout_iter_get_run_readonly (iter);
if (run && is_shape (run))
{
do
{
gint first_y, last_y;
- PangoLayoutLine *layout_line = pango_layout_iter_get_line (layout_iter);
+ PangoLayoutLine *layout_line = pango_layout_iter_get_line_readonly (layout_iter);
found_byte = layout_line->start_index;
do
{
gint first_y, last_y;
- PangoLayoutLine *layout_line = pango_layout_iter_get_line (layout_iter);
+ PangoLayoutLine *layout_line = pango_layout_iter_get_line_readonly (layout_iter);
found_byte = layout_line->start_index;
update_byte = TRUE;
}
- tmp_list = pango_layout_get_lines (display->layout);
+ tmp_list = pango_layout_get_lines_readonly (display->layout);
layout_line = tmp_list->data;
if (update_byte)
if (display->height > 0)
{
- tmp_list = g_slist_last (pango_layout_get_lines (display->layout));
+ tmp_list = g_slist_last (pango_layout_get_lines_readonly (display->layout));
layout_line = tmp_list->data;
line_display_index_to_iter (layout, display, iter,
else
line_byte = 0;
- tmp_list = pango_layout_get_lines (display->layout);
+ tmp_list = pango_layout_get_lines_readonly (display->layout);
while (tmp_list && !found_after)
{
PangoLayoutLine *layout_line = tmp_list->data;
display = gtk_text_layout_get_line_display (layout, line, FALSE);
line_byte = line_display_iter_to_index (layout, display, iter);
- tmp_list = pango_layout_get_lines (display->layout);
+ tmp_list = pango_layout_get_lines_readonly (display->layout);
while (tmp_list)
{
PangoLayoutLine *layout_line = tmp_list->data;
display = gtk_text_layout_get_line_display (layout, line, FALSE);
line_byte = line_display_iter_to_index (layout, display, iter);
- tmp_list = pango_layout_get_lines (display->layout);
+ tmp_list = pango_layout_get_lines_readonly (display->layout);
while (tmp_list)
{
PangoLayoutLine *layout_line = tmp_list->data;
do
{
- PangoLayoutLine *layout_line = pango_layout_iter_get_line (layout_iter);
+ PangoLayoutLine *layout_line = pango_layout_iter_get_line_readonly (layout_iter);
if (line_byte < layout_line->start_index + layout_line->length ||
pango_layout_iter_at_last_line (layout_iter))
{
text = pango_layout_get_text (layout);
str = g_string_new (NULL);
- lines = pango_layout_get_lines (layout);
+ lines = pango_layout_get_lines_readonly (layout);
/* get first lines */
elem = lines;